// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Pin Up Casino – Azərbaycanda onlayn kazino Pin-Up – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Содержимое

Содержимое

Pin Up Casino – Azərbaycanda onlayn kazino Pin-Up

Azərbaycanda onlayn kazino sektorunda Pin Up Casino bir çox istifadəçiyə məlum olan və hörmətli bir markadır. Pinup kimi də tanınan bu onlayn kazino, istifadəçilərinə geniş bir oyun seçimi, yüksək keyfiyyətli xidmət və etibarlılıq təmin edir. Pin up giriş sayəsində, istifadəçilər asanlıqla hesab açaraq, müxtəlif oyunlara qoşula bilərlər.

Pin up casino Azərbaycanlı istifadəçilər üçün xüsusi olaraq hazırlanmışdır və onların ehtiyaclarını ödəməyə yönəlmişdir. Onlayn kazinonun təklif etdiyi oyunlar, ən müasir və maraqlı olanlardır, hansı ki, istifadəçilərə yüksək dərəcədə əyləncə və qazanc imkanı yaradır. Pinup saytında olan pin up giriş bölməsi, istifadəçilərə sürətli və etibarlı şəkildə hesab açmaq imkanı verir.

Azərbaycanda Pin Up Casino onlayn kazinosu, istifadəçilərinə həm də bonus və kampaniyalar təklif edir. Bu, istifadəçilərə daha çox qazanc əldə etmək və oyun təcrübəsini daha da yaxşılaşdırmaq imkanı yaradır. Pin up saytının pin up casino bölməsində, istifadəçilər müxtəlif oyunlara, o cümlədən slot maşınlarına, kart oyunlarına və digər maraqlı oyunlara qoşula bilərlər.

Pin Up Casino-nın təqdim etdiyi oyunlar

Pin Up Casino Azərbaycanın ən məşhur onlayn kazinolardan biridir və müştərilərinə geniş oyun seçimi təqdim edir. Pin Up Casino-da siz slot maşınları, kart oyunları, rulet və başqa çoxsaylı oyunları oynaya bilərsiniz. Pin Up Casino-nun oyunları müxtəlif janrlarda təqdim olunur, hansı ki, hər kəsə uyğun gələn oyunu tapmaq olar.

Pin Up Casino-da ən çox məşhur olan oyunlar slot maşınlarıdır. Pin Up Casino-nun slot maşınları müxtəlif mövzularda hazırlanmışdır və hər biri özünəməxsus xüsusiyyətləri və qazanma şansları ilə fərqlənir. Siz Pin Up Casino-da həmçinin kart oyunları, məsələn, poker, blackjack və başqa oyunları da oynaya bilərsiniz.

Pin Up Casino-nun pin-up online casino təqdim etdiyi digər oyunlar isə rulet, bakkara və başqa kazino oyunlarıdır. Pin Up Casino-da siz həmçinin canlı dealerlər ilə oyunlar oynaya bilərsiniz, hansı ki, sizə real kazino hissini verir. Pin Up Casino-nu seçən müştərilər Pin Up giriş saytını istifadə edərək asan şəkildə oyunlara daxil ola bilərlər.

Pin Up, Pinup və ya Pin Up Casino kimi tanınan bu onlayn kazino, müştərilərinə ən yaxşı oyun təcrübəsini təqdim etməyə çalışır. Pin Up Casino-nun oyunları müxtəlif dilərdə təqdim olunur, hansı ki, müştərilərə oyunları asan şəkildə anlamağa kömək edir. Ümumiyyətlə, Pin Up Casino Azərbaycanın ən yaxşı onlayn kazinolardan biridir və siz də Pin Up Casino-nu seçərək ən yaxşı oyun təcrübəsini yaşaya bilərsiniz.

Qeydiyyat və daxil olma prosesi

Pin Up Casino-da qeydiyyat prosesi çox asandır. Bu prosesi başa vurmaq üçün sizə yalnız beberapa dəqiqə lazımdır. Qeydiyyatdan keçmək üçün sizə aşağıdakı addımları atmaq lazımdır:

  • Pin Up Casino-nun rəsmi saytına daxil olun.
  • Qeydiyyat səhifəsində sizdən tələb olunan məlumatları daxil edin.
  • Şəxsi məlumatlarınızı daxil edərək, qeydiyyatdan keçin.

Qeydiyyatdan sonra siz Pin Up https://pathway2022declaration.org/ online casino Casino-nun bütün xidmətlərindən istifadə edə bilərsiniz. Pin Up Casino-da daxil olmaq üçün sizə yalnız istifadəçi adı və şifrəniz lazımdır.

Pin Up Casino-da qeydiyyatın üstünlükləri

  • Pin Up Casino-da qeydiyyatdan keçdikdən sonra sizə bonuslar və xüsusi təkliflər təqdim olunur.
  • Pin Up Casino-da sizə müxtəlif oyunlar və idman yarışmaları üçün bahis qoymaq imkanı verilir.
  • Pin Up Casino-da sizə 24/7 dəstək xidməti təqdim olunur.
  • Pin Up, Pin Up Casino, Pinap az, Pinup kimi axtarışlar edərkən sizə ən yaxşı nəticələr göstərilir. Pin Up Casino-da qeydiyyatdan keçmək üçün sizə yalnız beberapa dəqiqə lazımdır.

    Bonus və təkliflər

    Pin Up Casino Azərbaycanın ən məşhur onlayn kazinolarından biridir və oyunçulara müxtəlif bonus və təkliflər təqdim edir. Pinap az saytında qeydiyyatdan keçdikdən sonra, siz dərhal bonus almağa başlaya bilərsiniz. Pin up casino yeni oyunçulara xüsusi təkliflər edir, məsələn, ilk depozit bonusu və ya pulsuz döndürmələr.

    İlk Depozit Bonusu

    Pin up casino ilk depozit bonusu təklif edir, yəni siz ilk dəfə pul köçürdükdən sonra, bonus almağa başlaya bilərsiniz. Bu bonus sizə daha çox oyun imkanı verir və siz daha çox qazana bilərsiniz. Pinup saytında bonus şərtləri və qaydaları barədə daha ətraflı məlumat almaq olar.

    Davami Bonuslar

    Pin Up Casino davami bonuslar da təklif edir, məsələn, həftəlik bonuslar və ya aylıq bonuslar. Bu bonuslar sizə daha çox oyun imkanı verir və siz daha çox qazana bilərsiniz. Pinap az saytında bonuslar barədə daha ətraflı məlumat almaq olar və siz dərhal bonus almağa başlaya bilərsiniz.

    Ödəniş Üsulları və Çıxarış

    Pin Up Casino Azərbaycanda onlayn kazino Pin-Up üçün ən etibarlı ödəniş üsullarını təklif edir. Pinup, pinap az və pin up giriş üçün müxtəlif variantlar mövcuddur.

    Ödəniş Üsulları

    Bank kartları, e-pul köçürmələri və mobil ödənişlər kimi variantlar mövcuddur. Pin Up Casino-dakı oyunlar üçün pul köçürməsi asandır və təhlükəsizdir.

    Pin Up saytında pinup və pinap az üçün xüsusi təkliflər mövcuddur. Pin up giriş üçün də xüsusi kampaniyalar təklif olunur.

    Çıxarış

    Qazandığınız məbləği çıxarmaq üçün ödəniş üsulları mövcuddur. Pin Up Casino-da qazandığınız pulu asanlıqla çıxara bilərsiniz.

    Design and Develop by Ovatheme